home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / 041-050 / amok44 / china / china.mod < prev    next >
Text File  |  1993-11-04  |  3KB  |  105 lines

  1. (**********************************************************************
  2.  
  3.     :Program.    China.mod
  4.     :Contents.   Translates a text to Chinese text
  5.     :Author.     Will nich genannt werden (traut sich nich)
  6.     :Address.    Unbekannt verzogen...
  7.     :Copyright.  Buplik Tomain
  8.     :Language.   Modula-2
  9.     :Translator. M2Amiga A+L V3.2d
  10.     :Imports.    InoutSupport
  11.     :History.    V0.99
  12.  
  13. **********************************************************************)
  14. MODULE China;
  15.  
  16. FROM FileSystem    IMPORT Lookup,ReadChar,WriteChar,Close,Response,
  17.                           FileMode,FileModeSet,File;
  18. FROM InOut         IMPORT WriteString,ReadString,Write,WriteLn;
  19. FROM InOutSupport  IMPORT Style,StyleSet,SetStyle,ForeBackColor,CursorOn,
  20.                           CursorOff,Farbe;
  21. FROM Strings       IMPORT Length,Insert;
  22.  
  23. TYPE String=ARRAY[0..40] OF CHAR;
  24.  
  25. VAR ein,aus:File;
  26.     EinName,AusName:String;
  27.     Zeichen:CHAR;
  28.     dummy:BOOLEAN;
  29.  
  30. PROCEDURE ErrorOut (Fehler:Response):BOOLEAN; 
  31.  
  32. VAR state:BOOLEAN;
  33.  
  34. BEGIN
  35.  state:=TRUE;
  36.   SetStyle(StyleSet{kursiv});
  37.  CASE Fehler OF 
  38.   |done:              WriteString('Job done');state:=FALSE;
  39.   |notdone:           WriteString('Job not done');
  40.   |lockErr:           WriteString('Lock error');
  41.   |openErr:           WriteString('Open error');
  42.   |readErr:           WriteString('Read error');
  43.   |writeErr:          WriteString('Write error');
  44.   |seekErr:           WriteString('Seek error');
  45.   |memErr:            WriteString('Memory error');
  46.   |inUse:             WriteString('In use');
  47.   |notFound:          WriteString('Not Found');
  48.   |diskWriteProtected:WriteString('Disk writeprotected');
  49.   |deviceNotMounted:  WriteString('Not Mounted');
  50.   |diskFull:          WriteString('Full error');
  51.   |deleteProtected:   WriteString('File undeleteable');
  52.   |writeProtected:    WriteString('File writeprotected');
  53.   |notDosDisk:        WriteString('No DOS Disk');
  54.   |noDisk:            WriteString('No Disk!')
  55.  END;
  56.  SetStyle(StyleSet{});
  57.  WriteLn;
  58.  RETURN state
  59. END ErrorOut;
  60.                         
  61. BEGIN 
  62.  ForeBackColor(schwarz,blau);
  63.  CursorOff();
  64.  WriteString('Deutsch --> China Ascii_Converter');
  65.  WriteLn;
  66.  WriteString('A development from');
  67.  SetStyle(StyleSet{fett});
  68.  WriteString(' Plof Doktel Leisblei ');
  69.  SetStyle(StyleSet{}); 
  70.  WriteString('(Fkt. f. Infolmatik)');
  71.  WriteLn;
  72.  LOOP
  73.   WriteString('Please enter ');
  74.   SetStyle(StyleSet{unterstrichen});
  75.   WriteString('Filename');
  76.   SetStyle(StyleSet{});
  77.   WriteString(' ==> ');
  78.   ReadString(EinName);
  79.   WriteString('Allocating Sourcefile ');
  80.   Lookup(ein,EinName,10000,FALSE);
  81.   IF ErrorOut(ein.res) THEN EXIT END;      
  82.   AusName:=EinName;
  83.   Insert(AusName,Length(EinName),'.China');
  84.   WriteString('Allocating Destinationfile ');
  85.   Lookup(aus,AusName,10000,TRUE);
  86.   IF ErrorOut(aus.res) THEN EXIT END;
  87.   WHILE NOT(ein.eof) DO 
  88.    ReadChar(ein,Zeichen);
  89.    IF Zeichen='R' THEN Zeichen:='L' END;
  90.    IF Zeichen='r' THEN Zeichen:='l' END;
  91.    WriteChar(aus,Zeichen)
  92.   END;
  93.   WriteString('File converted');WriteLn;
  94.   WriteString('Closing Source File ');
  95.   Close(ein);
  96.   dummy:=ErrorOut(ein.res);
  97.   WriteString('Closing Destination File ');
  98.   Close(aus);
  99.   dummy:=ErrorOut(aus.res);
  100.   EXIT
  101.  END;
  102.  ForeBackColor(weis,blau);
  103.  CursorOn();
  104. END China.
  105.